/* 
 @author   Ahmed Khudairy
 @contact  akhudairy@gmail.com
 @project  Mall Kit
 */

package com.mallkit.core.model
{
	import com.adobe.cairngorm.model.IModelLocator;
	   
    [Bindable]
    /**
     *
     * Defines the application specific <code>MallKitModelLocator</code> which
     * is utilized to provide a central location for all application specific 
     * data models
     * 
     * <p>
     * The <code>MallKitModelLocator</code> is a Singleton class which is 
     * utilized as a centralized data repository from which all data 
     * models, value objects and state are to reside within the 
     * application
     * </p>
     *
     * @see com.adobe.cairngorm.model.IModelLocator
     *
     */
	public final class MallKitModelLocator implements IModelLocator
	{	
		/**
		 *
		 * Defines the Singleton instance of the Application specific 
		 * <code>MallKitModelLocator</code> 
		 *
		 */
		public static const instance:MallKitModelLocator = new MallKitModelLocator();
		
		/**
		 *
		 * The <code>MallKitModelLocator</code> constructor is never to be
		 * invoked from outside the class definition
		 *
		 * @see #instance
		 */
		public function MallKitModelLocator()
		{
			if (instance != null)
			{
				var error:Error = new Error("Can not create a new instance of the model locator");
			}
		}
	}
}
